package com.example.springbootdemo.mall.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;

/**
 *@author xuwangqi
 *@date 2021/5/24 9:28
 **/
/**
    * 商品订单
    */
@ApiModel(value="com-example-springbootdemo-entity-OrderProduct")
@TableName(value = "order_product")
public class OrderProduct {
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="")
    private Long id;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    @ApiModelProperty(value="用户id")
    private Long userId;

    /**
     * 第三方用户id
     */
    @TableField(value = "openid")
    @ApiModelProperty(value="第三方用户id")
    private String openid;

    /**
     * 导游id
     */
    @TableField(value = "guide_id")
    @ApiModelProperty(value="导游id")
    private Long guideId;

    /**
     * 导游分成比例
     */
    @TableField(value = "guide_proportion")
    @ApiModelProperty(value="导游分成比例")
    private BigDecimal guideProportion;

    /**
     * 交易流水号
     */
    @TableField(value = "transaction_no")
    @ApiModelProperty(value="交易流水号")
    private String transactionNo;

    /**
     * 微信预订单号
     */
    @TableField(value = "prepay_id")
    @ApiModelProperty(value="微信预订单号")
    private String prepayId;

    /**
     * 订单编号
     */
    @TableField(value = "order_no")
    @ApiModelProperty(value="订单编号")
    private String orderNo;

    /**
     * 商品信息
     */
    @TableField(value = "products")
    @ApiModelProperty(value="商品信息")
    private String products;

    /**
     * 地址信息
     */
    @TableField(value = "address")
    @ApiModelProperty(value="地址信息")
    private String address;

    /**
     * 优惠券码
     */
    @TableField(value = "coupon_code")
    @ApiModelProperty(value="优惠券码")
    private String couponCode;

    /**
     * 优惠券抵扣金额
     */
    @TableField(value = "coupon_amount")
    @ApiModelProperty(value="优惠券抵扣金额")
    private BigDecimal couponAmount;

    /**
     * 运费
     */
    @TableField(value = "freight")
    @ApiModelProperty(value="运费")
    private BigDecimal freight;

    /**
     * 前端是否显示修改地址和取消订单按钮 0是显示 1 不显示
     */
    @TableField(value = "can_modify")
    @ApiModelProperty(value="前端是否显示修改地址和取消订单按钮 0是显示 1 不显示")
    private Byte canModify;

    /**
     * 商品总价格 
     */
    @TableField(value = "total_price")
    @ApiModelProperty(value="商品总价格 ")
    private BigDecimal totalPrice;

    /**
     * 商品总数量
     */
    @TableField(value = "quantity")
    @ApiModelProperty(value="商品总数量")
    private Integer quantity;

    /**
     * 实际商品支付金额 
     */
    @TableField(value = "total_amount")
    @ApiModelProperty(value="实际商品支付金额 ")
    private BigDecimal totalAmount;

    /**
     * 支付方式【支付宝；微信；银联；货到付款；】
     */
    @TableField(value = "payment_type")
    @ApiModelProperty(value="支付方式【支付宝；微信；银联；货到付款；】")
    private String paymentType;

    /**
     * 支付金额（应付金额）
     */
    @TableField(value = "pay_amount")
    @ApiModelProperty(value="支付金额（应付金额）")
    private BigDecimal payAmount;

    /**
     * 支付时间
     */
    @TableField(value = "gmt_pay")
    @ApiModelProperty(value="支付时间")
    private Date gmtPay;

    /**
     * 状态0->待付款；4->已付款；6->第三方确认有货 9-> 第三方确认无货  12->待发货；16->已发货；20 ->已取消(未付款取消和付款取消和已发货取消); 24已确认（确认收货）; 28->已完成；32->已关闭；
     */
    @TableField(value = "status")
    @ApiModelProperty(value="状态0->待付款；4->已付款；6->第三方确认有货 9-> 第三方确认无货  12->待发货；16->已发货；20 ->已取消(未付款取消和付款取消和已发货取消); 24已确认（确认收货）; 28->已完成；32->已关闭；")
    private Byte status;

    /**
     * 退款单id
     */
    @TableField(value = "refund_id")
    @ApiModelProperty(value="退款单id")
    private Long refundId;

    /**
     * 取消原因
     */
    @TableField(value = "cancel_reason")
    @ApiModelProperty(value="取消原因")
    private String cancelReason;

    /**
     * 关闭原因
     */
    @TableField(value = "closed_reason")
    @ApiModelProperty(value="关闭原因")
    private String closedReason;

    /**
     * 订单取消时间
     */
    @TableField(value = "gmt_cancel")
    @ApiModelProperty(value="订单取消时间")
    private Date gmtCancel;

    /**
     * 订单申请退款时间
     */
    @TableField(value = "gmt_application_refund")
    @ApiModelProperty(value="订单申请退款时间")
    private Date gmtApplicationRefund;

    /**
     * 关闭时间
     */
    @TableField(value = "gmt_close")
    @ApiModelProperty(value="关闭时间")
    private Date gmtClose;

    @TableField(value = "gmt_expire")
    @ApiModelProperty(value="")
    private Date gmtExpire;

    @TableField(value = "bill")
    @ApiModelProperty(value="")
    private String bill;

    /**
     * 订单备注
     */
    @TableField(value = "note")
    @ApiModelProperty(value="订单备注")
    private String note;

    /**
     * 客服备注
     */
    @TableField(value = "customer_note")
    @ApiModelProperty(value="客服备注")
    private String customerNote;

    /**
     * 删除状态【0->未删除；1->已删除】
     */
    @TableField(value = "is_delete")
    @ApiModelProperty(value="删除状态【0->未删除；1->已删除】")
    private Byte isDelete;

    @TableField(value = "gmt_create")
    @ApiModelProperty(value="")
    private Date gmtCreate;

    @TableField(value = "gmt_modified")
    @ApiModelProperty(value="")
    private Date gmtModified;

    @TableField(value = "gmt_delete")
    @ApiModelProperty(value="")
    private Date gmtDelete;

    public static final String COL_ID = "id";

    public static final String COL_USER_ID = "user_id";

    public static final String COL_OPENID = "openid";

    public static final String COL_GUIDE_ID = "guide_id";

    public static final String COL_GUIDE_PROPORTION = "guide_proportion";

    public static final String COL_TRANSACTION_NO = "transaction_no";

    public static final String COL_PREPAY_ID = "prepay_id";

    public static final String COL_ORDER_NO = "order_no";

    public static final String COL_PRODUCTS = "products";

    public static final String COL_ADDRESS = "address";

    public static final String COL_COUPON_CODE = "coupon_code";

    public static final String COL_COUPON_AMOUNT = "coupon_amount";

    public static final String COL_FREIGHT = "freight";

    public static final String COL_CAN_MODIFY = "can_modify";

    public static final String COL_TOTAL_PRICE = "total_price";

    public static final String COL_QUANTITY = "quantity";

    public static final String COL_TOTAL_AMOUNT = "total_amount";

    public static final String COL_PAYMENT_TYPE = "payment_type";

    public static final String COL_PAY_AMOUNT = "pay_amount";

    public static final String COL_GMT_PAY = "gmt_pay";

    public static final String COL_STATUS = "status";

    public static final String COL_REFUND_ID = "refund_id";

    public static final String COL_CANCEL_REASON = "cancel_reason";

    public static final String COL_CLOSED_REASON = "closed_reason";

    public static final String COL_GMT_CANCEL = "gmt_cancel";

    public static final String COL_GMT_APPLICATION_REFUND = "gmt_application_refund";

    public static final String COL_GMT_CLOSE = "gmt_close";

    public static final String COL_GMT_EXPIRE = "gmt_expire";

    public static final String COL_BILL = "bill";

    public static final String COL_NOTE = "note";

    public static final String COL_CUSTOMER_NOTE = "customer_note";

    public static final String COL_IS_DELETE = "is_delete";

    public static final String COL_GMT_CREATE = "gmt_create";

    public static final String COL_GMT_MODIFIED = "gmt_modified";

    public static final String COL_GMT_DELETE = "gmt_delete";

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取用户id
     *
     * @return user_id - 用户id
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置用户id
     *
     * @param userId 用户id
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取第三方用户id
     *
     * @return openid - 第三方用户id
     */
    public String getOpenid() {
        return openid;
    }

    /**
     * 设置第三方用户id
     *
     * @param openid 第三方用户id
     */
    public void setOpenid(String openid) {
        this.openid = openid;
    }

    /**
     * 获取导游id
     *
     * @return guide_id - 导游id
     */
    public Long getGuideId() {
        return guideId;
    }

    /**
     * 设置导游id
     *
     * @param guideId 导游id
     */
    public void setGuideId(Long guideId) {
        this.guideId = guideId;
    }

    /**
     * 获取导游分成比例
     *
     * @return guide_proportion - 导游分成比例
     */
    public BigDecimal getGuideProportion() {
        return guideProportion;
    }

    /**
     * 设置导游分成比例
     *
     * @param guideProportion 导游分成比例
     */
    public void setGuideProportion(BigDecimal guideProportion) {
        this.guideProportion = guideProportion;
    }

    /**
     * 获取交易流水号
     *
     * @return transaction_no - 交易流水号
     */
    public String getTransactionNo() {
        return transactionNo;
    }

    /**
     * 设置交易流水号
     *
     * @param transactionNo 交易流水号
     */
    public void setTransactionNo(String transactionNo) {
        this.transactionNo = transactionNo;
    }

    /**
     * 获取微信预订单号
     *
     * @return prepay_id - 微信预订单号
     */
    public String getPrepayId() {
        return prepayId;
    }

    /**
     * 设置微信预订单号
     *
     * @param prepayId 微信预订单号
     */
    public void setPrepayId(String prepayId) {
        this.prepayId = prepayId;
    }

    /**
     * 获取订单编号
     *
     * @return order_no - 订单编号
     */
    public String getOrderNo() {
        return orderNo;
    }

    /**
     * 设置订单编号
     *
     * @param orderNo 订单编号
     */
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    /**
     * 获取商品信息
     *
     * @return products - 商品信息
     */
    public String getProducts() {
        return products;
    }

    /**
     * 设置商品信息
     *
     * @param products 商品信息
     */
    public void setProducts(String products) {
        this.products = products;
    }

    /**
     * 获取地址信息
     *
     * @return address - 地址信息
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置地址信息
     *
     * @param address 地址信息
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取优惠券码
     *
     * @return coupon_code - 优惠券码
     */
    public String getCouponCode() {
        return couponCode;
    }

    /**
     * 设置优惠券码
     *
     * @param couponCode 优惠券码
     */
    public void setCouponCode(String couponCode) {
        this.couponCode = couponCode;
    }

    /**
     * 获取优惠券抵扣金额
     *
     * @return coupon_amount - 优惠券抵扣金额
     */
    public BigDecimal getCouponAmount() {
        return couponAmount;
    }

    /**
     * 设置优惠券抵扣金额
     *
     * @param couponAmount 优惠券抵扣金额
     */
    public void setCouponAmount(BigDecimal couponAmount) {
        this.couponAmount = couponAmount;
    }

    /**
     * 获取运费
     *
     * @return freight - 运费
     */
    public BigDecimal getFreight() {
        return freight;
    }

    /**
     * 设置运费
     *
     * @param freight 运费
     */
    public void setFreight(BigDecimal freight) {
        this.freight = freight;
    }

    /**
     * 获取前端是否显示修改地址和取消订单按钮 0是显示 1 不显示
     *
     * @return can_modify - 前端是否显示修改地址和取消订单按钮 0是显示 1 不显示
     */
    public Byte getCanModify() {
        return canModify;
    }

    /**
     * 设置前端是否显示修改地址和取消订单按钮 0是显示 1 不显示
     *
     * @param canModify 前端是否显示修改地址和取消订单按钮 0是显示 1 不显示
     */
    public void setCanModify(Byte canModify) {
        this.canModify = canModify;
    }

    /**
     * 获取商品总价格 
     *
     * @return total_price - 商品总价格 
     */
    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    /**
     * 设置商品总价格 
     *
     * @param totalPrice 商品总价格 
     */
    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    /**
     * 获取商品总数量
     *
     * @return quantity - 商品总数量
     */
    public Integer getQuantity() {
        return quantity;
    }

    /**
     * 设置商品总数量
     *
     * @param quantity 商品总数量
     */
    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    /**
     * 获取实际商品支付金额 
     *
     * @return total_amount - 实际商品支付金额 
     */
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    /**
     * 设置实际商品支付金额 
     *
     * @param totalAmount 实际商品支付金额 
     */
    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    /**
     * 获取支付方式【支付宝；微信；银联；货到付款；】
     *
     * @return payment_type - 支付方式【支付宝；微信；银联；货到付款；】
     */
    public String getPaymentType() {
        return paymentType;
    }

    /**
     * 设置支付方式【支付宝；微信；银联；货到付款；】
     *
     * @param paymentType 支付方式【支付宝；微信；银联；货到付款；】
     */
    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    /**
     * 获取支付金额（应付金额）
     *
     * @return pay_amount - 支付金额（应付金额）
     */
    public BigDecimal getPayAmount() {
        return payAmount;
    }

    /**
     * 设置支付金额（应付金额）
     *
     * @param payAmount 支付金额（应付金额）
     */
    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    /**
     * 获取支付时间
     *
     * @return gmt_pay - 支付时间
     */
    public Date getGmtPay() {
        return gmtPay;
    }

    /**
     * 设置支付时间
     *
     * @param gmtPay 支付时间
     */
    public void setGmtPay(Date gmtPay) {
        this.gmtPay = gmtPay;
    }

    /**
     * 获取状态0->待付款；4->已付款；6->第三方确认有货 9-> 第三方确认无货  12->待发货；16->已发货；20 ->已取消(未付款取消和付款取消和已发货取消); 24已确认（确认收货）; 28->已完成；32->已关闭；
     *
     * @return status - 状态0->待付款；4->已付款；6->第三方确认有货 9-> 第三方确认无货  12->待发货；16->已发货；20 ->已取消(未付款取消和付款取消和已发货取消); 24已确认（确认收货）; 28->已完成；32->已关闭；
     */
    public Byte getStatus() {
        return status;
    }

    /**
     * 设置状态0->待付款；4->已付款；6->第三方确认有货 9-> 第三方确认无货  12->待发货；16->已发货；20 ->已取消(未付款取消和付款取消和已发货取消); 24已确认（确认收货）; 28->已完成；32->已关闭；
     *
     * @param status 状态0->待付款；4->已付款；6->第三方确认有货 9-> 第三方确认无货  12->待发货；16->已发货；20 ->已取消(未付款取消和付款取消和已发货取消); 24已确认（确认收货）; 28->已完成；32->已关闭；
     */
    public void setStatus(Byte status) {
        this.status = status;
    }

    /**
     * 获取退款单id
     *
     * @return refund_id - 退款单id
     */
    public Long getRefundId() {
        return refundId;
    }

    /**
     * 设置退款单id
     *
     * @param refundId 退款单id
     */
    public void setRefundId(Long refundId) {
        this.refundId = refundId;
    }

    /**
     * 获取取消原因
     *
     * @return cancel_reason - 取消原因
     */
    public String getCancelReason() {
        return cancelReason;
    }

    /**
     * 设置取消原因
     *
     * @param cancelReason 取消原因
     */
    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    /**
     * 获取关闭原因
     *
     * @return closed_reason - 关闭原因
     */
    public String getClosedReason() {
        return closedReason;
    }

    /**
     * 设置关闭原因
     *
     * @param closedReason 关闭原因
     */
    public void setClosedReason(String closedReason) {
        this.closedReason = closedReason;
    }

    /**
     * 获取订单取消时间
     *
     * @return gmt_cancel - 订单取消时间
     */
    public Date getGmtCancel() {
        return gmtCancel;
    }

    /**
     * 设置订单取消时间
     *
     * @param gmtCancel 订单取消时间
     */
    public void setGmtCancel(Date gmtCancel) {
        this.gmtCancel = gmtCancel;
    }

    /**
     * 获取订单申请退款时间
     *
     * @return gmt_application_refund - 订单申请退款时间
     */
    public Date getGmtApplicationRefund() {
        return gmtApplicationRefund;
    }

    /**
     * 设置订单申请退款时间
     *
     * @param gmtApplicationRefund 订单申请退款时间
     */
    public void setGmtApplicationRefund(Date gmtApplicationRefund) {
        this.gmtApplicationRefund = gmtApplicationRefund;
    }

    /**
     * 获取关闭时间
     *
     * @return gmt_close - 关闭时间
     */
    public Date getGmtClose() {
        return gmtClose;
    }

    /**
     * 设置关闭时间
     *
     * @param gmtClose 关闭时间
     */
    public void setGmtClose(Date gmtClose) {
        this.gmtClose = gmtClose;
    }

    /**
     * @return gmt_expire
     */
    public Date getGmtExpire() {
        return gmtExpire;
    }

    /**
     * @param gmtExpire
     */
    public void setGmtExpire(Date gmtExpire) {
        this.gmtExpire = gmtExpire;
    }

    /**
     * @return bill
     */
    public String getBill() {
        return bill;
    }

    /**
     * @param bill
     */
    public void setBill(String bill) {
        this.bill = bill;
    }

    /**
     * 获取订单备注
     *
     * @return note - 订单备注
     */
    public String getNote() {
        return note;
    }

    /**
     * 设置订单备注
     *
     * @param note 订单备注
     */
    public void setNote(String note) {
        this.note = note;
    }

    /**
     * 获取客服备注
     *
     * @return customer_note - 客服备注
     */
    public String getCustomerNote() {
        return customerNote;
    }

    /**
     * 设置客服备注
     *
     * @param customerNote 客服备注
     */
    public void setCustomerNote(String customerNote) {
        this.customerNote = customerNote;
    }

    /**
     * 获取删除状态【0->未删除；1->已删除】
     *
     * @return is_delete - 删除状态【0->未删除；1->已删除】
     */
    public Byte getIsDelete() {
        return isDelete;
    }

    /**
     * 设置删除状态【0->未删除；1->已删除】
     *
     * @param isDelete 删除状态【0->未删除；1->已删除】
     */
    public void setIsDelete(Byte isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * @return gmt_create
     */
    public Date getGmtCreate() {
        return gmtCreate;
    }

    /**
     * @param gmtCreate
     */
    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * @return gmt_modified
     */
    public Date getGmtModified() {
        return gmtModified;
    }

    /**
     * @param gmtModified
     */
    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     * @return gmt_delete
     */
    public Date getGmtDelete() {
        return gmtDelete;
    }

    /**
     * @param gmtDelete
     */
    public void setGmtDelete(Date gmtDelete) {
        this.gmtDelete = gmtDelete;
    }
}